20 research outputs found

    Contribución al reconocimiento de huellas dactilares mediante técnicas de correlación y arquitecturas hardware para el aumento de prestaciones

    Get PDF
    Las huellas dactilares son un identificador biométrico ampliamente utilizado. Su uso se extiende desde aplicaciones policiales y forenses hasta aplicaciones civiles muy comunes, como el control de accesos. Con la aparición de los primeros sistemas automáticos de reconocimiento de huellas (AFIS, “Automatic Fingerprint Identification System”) se comenzó el desarrollo y utilización de algoritmos de comparación de huellas dactilares basados en minucias, que son puntos singulares dentro de la huella. Estos métodos se asemejan a la comparación visual realizada por un experto, identificando la posición de los puntos singulares para su posterior comparación. Los métodos de comparación basados en minucias proporcionan una respuesta precisa pero presentan numerosos inconvenientes. En primer lugar, las técnicas de comparación basadas en minucias requieren un fuerte preprocesado de las imágenes que suelen introducir artefactos en las imágenes a comparar. En segundo lugar, estas técnicas solo toman una parte muy concreta de la información contenida en la huella, sesgando con ello en gran medida la comparación. Actualmente los sensores de huellas dactilares son capaces de proporcionar imágenes de alta resolución y con alta calidad, utilizar únicamente las minucias para la comparación es desaprovechar el resto de la valiosa información contenida en la huella. Los algoritmos basados en técnicas de correlación se presentan como candidatos para paliar los dos inconvenientes anteriormente mencionados. Estas técnicas utilizan el cálculo de la correlación cruzada como medida de similitud de las imágenes. Por lo tanto se compara toda la información contenida en la huella y además, como no se requiere la extracción de características, se evita la compleja etapa de preprocesado requerida por los métodos basados en minucias. A pesar de haber demostrado recientemente que con las técnicas basadas en correlación se pueden obtener resultados precisos [FVC2002], [FVC2004], estas técnicas siguen siendo minoritariamente estudiadas y utilizadas. La principal desventaja que presentan es su alta carga computacional, requiriendo equipos de altas prestaciones, coste y tamaño. Esta tesis doctoral presenta algoritmos para la comparación de huellas dactilares mediante técnicas de correlación así como arquitecturas hardware eficientes para solventar los problemas de rendimiento que presentan estas técnicas. Se han propuesto dos algoritmos de comparación de huellas dactilares mediante técnicas de correlación que son aportación original de esta tesis. Los algoritmos presentan dos soluciones diferenciadas según la resolución de las imágenes a comparar. Los métodos de alineamiento propuestos para cada uno de los algoritmos también utilizan técnicas novedosas y son por tanto aportación original de esta tesis. El algoritmo de comparación de imágenes de baja resolución realiza una etapa de alineamiento novedosa basada en la correlación del campo de orientación de las huellas. A partir del desplazamiento y la rotación calculados se seleccionan las zonas de las huellas a comparar teniendo en cuenta el solape que existe entre las huellas así como la calidad de las zonas elegidas. Una vez determinadas las zonas se utiliza la correlación cruzada como medida de similitud de las zonas. El algoritmo de comparación para imágenes de alta resolución selecciona zonas cercanas al núcleo para efectuar la comparación. La selección del núcleo se efectúa mediante una técnica novedosa que utiliza la transformada wavelet para determinar la posición del núcleo. La detección del núcleo se realiza sobre la imagen directamente sin necesidad de aplicar ningún preprocesado previo. Una vez seleccionadas las zonas que contienen al núcleo, se realiza el cálculo de la correlación cruzada como medida de similitud de las imágenes. Los resultados experimentales para ambos algoritmos determinan que ambos métodos son precisos en la comparación pero su rendimiento en implementaciones software es bajo. Esto es debido a que el rendimiento en ambos algoritmos se ve afectado por la elevada carga computacional que acarrea el cálculo de la correlación cruzada. En esta tesis también se han propuesto arquitecturas hardware para la aceleración del cálculo de la correlación cruzada. En concreto, se han propuesto dos arquitecturas hardware, una para el cálculo de la correlación en el dominio espacial y otra para el cálculo de la correlación en el dominio espectral. Así como una arquitectura para realizar por hardware la normalización y poder así obtener una correlación normalizada. Todas las arquitecturas propuestas son aportación original de esta tesis. La arquitectura espacial consta de una matriz sistólica de DSP slices que realizan MACs (“Multiplication ACcumulation”). En esta arquitectura cada DSP slice realiza una MAC y pasa el resultado al siguiente DSP slice de su misma fila. Por lo tanto, en cada fila de la matriz se calcula la correlación cruzada de una fila de ambas imágenes. Después de un retardo inicial, los resultados se proporcionan cada ciclo de reloj. La arquitectura espectral se basa en la aplicación del teorema de la correlación y en la utilización de la transformada rápida de Fourier (FFT). Se han utilizado módulos de cálculo de la FFT, que se han denominado FFT slices. En la arquitectura propuesta, cada FFT slice realiza la FFT de una fila de ambas imágenes. La arquitectura gestiona los FFT slices, así como memorias intermedias, para realizar el máximo número posible de FFTs en paralelo. Para la normalización se presentan arquitecturas recursivas que aprovechan el flujo de datos de las arquitecturas que calculan la correlación. Con esta aproximación es posible combinar ambos circuitos para integrarlos en un solo chip. Además de esto, al compartir el flujo de datos los resultados se generan a la vez, sin disminuir el rendimiento del sistema. Experimentalmente se ha comprobado la aceleración conseguida con las arquitecturas propuestas mediante implementaciones de las arquitecturas en una FPGA (“Field Programmable Gate Array”) de la familia Virtex 4 de Xilinx [Xil_V4]. Los resultados experimentales demuestran que con las arquitecturas propuestas se pueden conseguir aceleraciones de hasta dos órdenes de magnitud respecto a implementaciones en C en un PC de gama alta. También se han propuesto soluciones a nivel de sistema para la comparación de huellas dactilares mediante técnicas de correlación. Estas soluciones presentan la integración de las arquitecturas hardware propuestas en un SoPC (“System On Pogrammable Chip”). La arquitectura básica del SoPC propuesto consta de un microprocesador empotrado junto con un coprocesador hardware que realiza las tareas de complejidad elevada. Con esta arquitectura se busca una mejora en el rendimiento del sistema, aliviando la carga computacional del microprocesador empotrado. Se proponen dos arquitecturas para el coprocesador hardware del SoPC que son aportación original de esta tesis. La arquitectura estática se basa en la arquitectura espacial propuesta, pero utilizando una única fila de DSP slices para realizar los cálculos. En esta arquitectura, el coprocesador se encarga de realizar las tareas de mayor carga computacional y el microprocesador el resto de tareas necesarias para la comparación, incluyendo el envío de datos al coprocesador y la recomposición de resultados. La arquitectura dinámica se compone de un coprocesador reconfigurable de grano grueso que puede cambiar en tiempo de ejecución tanto la operación a realizar como el tamaño de las imágenes empleadas, implicando un redimensionamiento de la matriz de DSP slices del coprocesador. La reconfiguración la realiza directamente el microprocesador empotrado, sin necesidad de utilizar los mecanismos internos de reconfiguración de la FPGA. Este coprocesador presenta una solución versátil a la par que eficiente. La pérdida de posibilidades frente a una reconfiguración de grano fino se ve compensada por una disminución drástica del tiempo de reconfiguración que con la arquitectura propuesta puede realizarse con tan solo cuatro transacciones de 32 bits. El sistema se ha prototipado para una FPGA Virtex 5 de Xilinx [Xil_V5] utilizando como microprocesador empotrado Microblaze [Xil_mblaze]. Los resultados experimentales obtenidos muestran que el SoPC diseñado es altamente eficiente para diversas operaciones comunes en el campo del procesado de imágenes (CC, S, SS y transformada wavelet) superando en rendimiento a implementaciones software en un PC de altas prestaciones. En el SoPC propuesto también se ha implementado el algoritmo para imágenes de alta resolución propuesto consiguiendo el mismo rendimiento que un PC de altas prestaciones. Con esta tesis doctoral se ha estudiado la comparación de huellas dactilares mediante técnicas de correlación obteniendo resultados precisos con algoritmos novedosos de comparación. Se ha demostrado que las técnicas de correlación son unas técnicas prometedoras en el ámbito de la comparación de huellas dactilares, por la precisión obtenida así como por su capacidad de comparar la totalidad de la información contenida en la huella. También se han solventado los problemas de rendimiento que presentan estas técnicas mediante arquitecturas hardware específicas que proporcionan rendimientos elevados. .Las arquitecturas propuestas hacen posible cálculos de correlación en tiempo real y en sistemas de bajo coste y tamaño. El SoPC con coprocesador dinámico propuesto presenta una solución muy versátil, ya que es capaz de modificar en tiempo de ejecución la tarea a realizar por el coprocesador, el tamaño de las imágenes y de la matriz de DSP slices, realizando el cálculo de forma eficiente para un conjunto de datos de gran tamaño

    Error Detection and Mitigation of Data-Intensive Microprocessor Applications Using SIMD and Trace Monitoring

    Get PDF
    This article proposes a software error mitigation approach that uses the single instruction multiple data (SIMD) coprocessor to accelerate computation over redundant data. In addition, an external IP connected to the microprocessor's trace interface is used to detect errors that are difficult to cover with software-implemented techniques. The proposed approach has been implemented in an ARM microprocessor, and an irradiation campaign with neutrons has been carried out at Los Alamos National Laboratory. Experimental results demonstrate the high error coverage (more than 99.9%) of the proposed approach. The neutron cross section of errors that were not corrected nor detected was reduced by more than three orders of magnitude

    The Use of Microprocessor Trace Infrastructures for Radiation-Induced Fault Diagnosis

    Get PDF
    This work proposes a methodology to diagnoseradiation-induced faults in a microprocessor using the hardwaretrace infrastructure. The diagnosis capabilities of this approachare demonstrated for an ARM microprocessor under neutronand proton irradiation campaigns. The experimental resultsdemonstrate that the execution status in the precise moment thatthe error occurred can be reconstructed, so that error diagnosiscan be achieved

    A Hybrid Fault-Tolerant LEON3 Soft Core Processor Implemented in Low-End SRAM FPGA

    Get PDF
    In this work we implemented a hybrid fault-tolerant LEON3 soft-core processor in a low-end FPGA (Artix-7) and evaluated its error detection capabilities through neutron irradiation and fault injection in an incremental manner. The error mitigation approach combines the use of SEC/DED codes for memories, a hardware monitor to detect control-flow errors, software-based techniques to detect data errors and configuration memory scrubbing with repair to avoid error accumulation. The proposed solution can significantly improve fault tolerance and can be fully embedded in a low-end FPGA, with reduced overhead and low intrusiveness

    Evaluation of the Suitability of NEON SIMD Microprocessor Extensions Under Proton Irradiation

    Get PDF
    This paper analyzes the suitability of single-instruction multiple data (SIMD) extensions of current microprocessors under radiation environments. SIMD extensions are intended for software acceleration, focusing mostly in applications that require high computational effort, which are common in many fields such as computer vision. SIMD extensions use a dedicated coprocessor that makes possible packing several instructions in one single extended instruction. Applications that require high performance could benefit from the use of SIMD coprocessors, but their reliability needs to be studied. In this paper, NEON, the SIMD coprocessor of ARM microprocessors, has been selected as a case study to explore the behavior of SIMD extensions under radiation. Radiation experiments of ARM CORTEX-A9 microprocessors have been accomplished with the objective of determining how the use of this kind of coprocessor can affect the system reliability

    Microprocessor error diagnosis by trace monitoring under laser testing

    Get PDF
    This work explores the diagnosis capabilities of the enriched information provided by microprocessors trace subsystem combined with laser fault injection. Laser fault injection campaigns with delimited architectural regions have been accomplished on an ARM Cortex-A9 device. Experimental results demonstrate the capability of the presented technique to provide additional information of the various error mechanisms that can happen in a microprocessor. A comparison with radiation campaigns presented in previous work is also discussed, showing that laser fault injection results are in good agreement with neutron and proton radiation results

    Evaluating the computational performance of the Xilinx Ultrascale+ EG Heterogeneous MPSoC

    Get PDF
    The emergent technology of Multi-Processor System-on-Chip (MPSoC), which combines heterogeneous computing with the high performance of Field Programmable Gate Arrays (FPGAs) is a very interesting platform for a huge number of applications ranging from medical imaging and augmented reality to high-performance computing in space. In this paper, we focus on the Xilinx Zynq UltraScale EG Heterogeneous MPSoC, which is composed of four different processing elements (PE): a dual-core Cortex-R5, a quad-core ARM Cortex-A53, a graphics processing unit (GPU) and a high end FPGA. Proper use of the heterogeneity and the different levels of parallelism of this platform becomes a challenging task. This paper evaluates this platform and each of its PEs to carry out fundamental operations in terms of computational performance. To this end, we evaluate image-based applications and a matrix multiplication kernel. On former, the image-based applications leverage the heterogeneity of the MPSoc and strategically distributes its tasks among both kinds of CPU cores and the FPGA. On the latter, we analyze separately each PE using different matrix multiplication benchmarks in order to assess and compare their performance in terms of MFlops. This kind of operations are being carried out for example in a large number of space-related applications where the MPSoCs are currently gaining momentum. Results stand out the fact that different PEs can collaborate efficiently with the aim of accelerating the computational-demanding tasks of an application. Another important aspect to highlight is that leveraging the parallel OpenBLAS library we achieve up to 12 GFlops with the four Cortex-A53 cores of the platform, which is a considerable performance for this kind of devices.This work has been supported by the Spanish Government through TIN2017-82972-R, ESP2015-68245-C4-1-P, the Valencian Regional Government through PROMETEO/2029/109 and the Universitat Jaume I through UJI-B2019-36. We thank Prof. L. Kosmidis and M. M. Trompouki for providing us the OpenGL ES 2.0 code implementation of the matrix multiplication

    Evaluating the soft error sensitivity of a GPU-based SoC for matrix multiplication

    Get PDF
    Proceeding of: 31th European Symposium on Reliability of Electron Devices, Failure Physics and Analysis (ESREF 2020), Athens, Greece, 4th to 8 October 2020 (Virtual conference)System-on-Chip (SoC) devices can be composed of low-power multicore processors combined with a small graphics accelerator (or GPU) which offers a trade-off between computational capacity and low-power consumption. In this work we use the LLFI-GPU fault injection tool on one of these devices to compare the sensitivity to soft errors of two different CUDA versions of matrix multiplication benchmark. Specifically, we perform fault injection campaigns on a Jetson TK1 development kit, a board equipped with a SoC including an NVIDIA 'Kepler” Graphics Processing Unit (GPU). We evaluate the effect of modifying the size of the problem and also the thread-block size on the behaviour of the algorithms. Our results show that the block version of the matrix multiplication benchmark that leverages the shared memory of the GPU is not only faster than the element-wise version, but it is also much more resilient to soft errors. We also use the cuda-gdb debugger to analyze the main causes of the crashes in the code due to soft errors. Our experiments show that most of the errors are due to accesses to invalid positions of the different memories of the GPU, which causes that the block version suffers a higher percentage of this kind of errors.This work has been supported by the Spanish Government through TIN2017-82972-R and ESP2015-68245-C4-1-P, and by the Valencian Regional Government through PROMETEO/2019/109

    Performance analysis of a millimeter wave MIMO channel estimation method in an embedded multi-core processor

    Get PDF
    The emerging Multi-Processor System-on-Chip (MPSoC) technology, which combines heterogeneous computing with the high performance of field programmable gate arrays (FPGA), is a promising platform for a large number of applications, including wireless communications and vehicular technology. In this specific application context, when multiple-input multiple-output (MIMO) scenarios are considered, the system usually has to manage a large number of communication links among sensors and antennas involving different vehicles and users. Millimeter wave (mmWave) communications are one of the key technology enablers toward achieving high data rates in beyond 5G systems (B5G). Communication at these frequency bands usually involves the use of large antenna arrays, often requiring high computational resources. One of the candidate platforms able to manage a huge number of communications is the Xilinx Zynq UltraScale+ EG Heterogeneous MPSoC, which is composed of a dual-core Cortex-R5, a quad-core ARM Cortex-A53, a graphics processing unit (GPU) and a high-end FPGA. This work analyzes the computational performance that requires a recent mmWave MIMO channel estimation algorithm in a platform of this kind. As a first approach, we will focus our work on the performance that can be achieved via the quad-core ARM Cortex-A53. To this end, we will use the libraries for numerical algebra (BLAS and LAPACK). The results show that our reference implementation is able to manage a large MIMO communication system with 256 antennas without exhausting platform resources.Open Access funding provided thanks to the CRUE-CSIC agreement with Springer Nature. Thanks to Grant PID2020-113785RB-100 funded by MCIN/AEI/1013039/ 501100011033 and the Ramón y Cajal Grant RYC-2017-22101. The work has been also supported by the Spanish Ministry of Science and Innovation under Grants RTI2018-097045-B-C21, PID2019-106455GB-C21 and PID2020-113656RB-C21, as well as the Regional Government of Madrid throughout the projects MIMACUHSPACE-CM-UC3M (2022/00024/001) and PEJD-2019-PRE/TIC-16327
    corecore